﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using CRUD.DAO;
using CapaGestion.Spring;
using GestionadorBaseDatos;
using CapaNegocios;


public partial class InterfazKamalde_Categorias : Base
{

    public IGestionCategoria gestionCategoria = AdministradorGestion.getGestionarCategoria();

    public Categoria categoriaSeleccionada = new Categoria();

    public int tamano;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)//((String)Session["load"] == "true")
        {
            categoriaSeleccionada.Nombre = Request.QueryString.Get("op");
            if (categoriaSeleccionada.Nombre != null)
            {
                categoriaSeleccionada.IdCategoria = int.Parse(Request.QueryString.Get("id"));
            }
            else
            {
                categoriaSeleccionada.IdCategoria = 1;
            }
            categoriaSeleccionada = gestionCategoria.GetById(categoriaSeleccionada);
            tabla.Controls.Add(ConsultarEventos(categoriaSeleccionada.ListaEventos));
            IList categoria = gestionCategoria.GetAll();
            llenarComboCategorias(categoria);
            Session["categorias"] = categoria;
            comboCategorias.Text = categoriaSeleccionada.Nombre;

        }
        else
        {

        }


    }
 
    protected void llenarComboCategorias(IList categoria)
    {
        int numeroCategorias = categoria.Count;
        for (int i = 0; i < numeroCategorias; i++)
        {
            comboCategorias.Items.Add(((Categoria)categoria[i]).Nombre);
        }
    }
    protected void comboCategorias_TextChanged(object sender, EventArgs e)
    {
        int a = comboCategorias.SelectedIndex;
        IList categoriaElegida = (IList)Session["categorias"];
        tabla.Controls.Add(ConsultarEventos(((Categoria)categoriaElegida[a]).ListaEventos));
    }
    public Table ConsultarEventos(IList eventos)
    {
        Table tableCategoria = new Table();
        TableRow r = new TableRow();
        TableCell cat = new TableCell();
        TableCell imagen = new TableCell();
        TableCell celdaFecha = new TableCell();
        imagen.Width = 30;
        cat.Width = 200;
        celdaFecha.Width = 200;
        Label categ = new Label();
        categ.Font.Bold = false;
        categ.Font.Name = "Verdana";
        categ.Font.Size = new FontUnit(12);
        categ.Text = "Nombre Evento";
        cat.Controls.Add(categ);
        Label fecha = new Label();
        fecha.Font.Bold = false;
        fecha.Font.Name = "Verdana";
        fecha.Font.Size = new FontUnit(12);
        fecha.Text = "Fecha";
        celdaFecha.Controls.Add(fecha);
        r.Cells.Add(imagen);
        r.Cells.Add(cat);
        r.Cells.Add(celdaFecha);
        tableCategoria.Rows.Add(r);
        tableCategoria.BackColor = Color.Black;
        tableCategoria.Width = 450;
        tamano = eventos.Count;
        int cont = 0;
        while (cont < tamano)
        {
            System.Web.UI.WebControls.Image a = new System.Web.UI.WebControls.Image();
            a.ImageUrl = "images/bullet3-gamblingtemplatesdotnet.gif";
            imagen = new TableCell();
            cat = new TableCell();
            celdaFecha = new TableCell();
            imagen.Controls.Add(a);
            imagen.Width = 30;
            categ = new Label();
            fecha = new Label();
            r = new TableRow();
            r.Cells.Add(imagen);
            cat.Width = 350;
            HyperLink hyperlinkModif = new HyperLink();
            hyperlinkModif.Text = ((Evento)eventos[cont]).NombreEvento.ToUpper() + "\n\r";
            hyperlinkModif.NavigateUrl = "Modificador.aspx?op=" + ((Evento)eventos[cont]).IdEvento.ToString() + "&cate=" + ((Evento)eventos[cont]).NombreEvento;
            fecha.Text = ((Evento)eventos[cont]).FechaEvento.ToString() + "\n\r";
            celdaFecha.Controls.Add(fecha);
            cat.Controls.Add(hyperlinkModif);
            r.Cells.Add(cat);
            r.Cells.Add(celdaFecha);
            tableCategoria.Rows.Add(r);
            cont++;
        }
        return tableCategoria;
    }
}